package com.liuxinlong.modules.system.service;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * 数据备份信息接口
 * 
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2022-07-19
 */
public interface BackupService {
	/**
	 * 分页查询数据备份记录信息
	 * 
	 * @param queryParam 请求信息
	 * @return 数据备份记录信息列表
	 */
	List<Map<String,Object>> pageBackupInfo(Map<String,Object> queryParam);
	
	/**
	 * 统计数据备份记录数量
	 * 
	 * @param queryParam 查询参数
	 * @return 数据备份记录数量
	 */
	int countBackupInfo(Map<String,Object> queryParam);

	/**
	 * 构建基本信息
	 *
	 * @param backupId   备份id
	 * @param fileId     文件id
	 * @param backupPath 备份文件路径
	 * @param type       类型
	 */
	void createInfo(String backupId, String fileId, String backupPath, int type);

	/**
	 * 删除数据备份记录
	 *
	 * @param id 数据备份记录id
	 */
	void deleteBackup(String id);

	/**
	 * 导出物料状态变更信息
	 *
	 * @param response 返回数据
	 */
	void exportBackup(HttpServletResponse response);

	/**
	 * 文件备份
	 *
	 * @param backupId 备份id
	 * @param fileId 文件id
	 * @param backupPath 备份路径
	 * @param type 类型
	 */
	 void startBackup(String backupId, String fileId, String backupPath, int type);
}
